package com.nondo.dean.saprfc.service;

import com.nondo.dean.saprfc.common.SapUtil;
import com.nondo.dean.saprfc.domain.Customer;
import com.nondo.dean.saprfc.domain.Region;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoTable;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * @author xiaofan
 * @Description:
 * @throws
 * @date 2018-04-1210:35
 * @Version 0.1
 */
@Service
public class CrmUserService {

    /**
     * 获取sap区域信息
     * @param sapCilent
     * @return
     */
    public List<Region> getSapRegion(String sapCilent){
        List<Region> newList=new ArrayList<>();
        JCoFunction function = SapUtil.getFunction(sapCilent,"Z_ND_OA_KNA1");
        SapUtil.executeFunction(sapCilent,function);
        JCoTable table=function.getTableParameterList().getTable("EX_T005U");
        for (int i = 0; i < table.getNumRows(); i++) {
            //区域编号
            String code=table.getString("BLAND");
            //区域名称
            String name=table.getString("BEZEI");
            Region regionBean=new Region(code,name);
            newList.add(regionBean);
            table.nextRow();
        }


        return newList;
    }

    /**
     * 获取sap的客户数据
     * @param sapCilent
     * @return
     */
    public List<Customer> getSapCustomer(String sapCilent){
        List<Customer> newList=new ArrayList<>();
        JCoFunction function = SapUtil.getFunction(sapCilent,"Z_ND_OA_KNA1");
        SapUtil.executeFunction("",function);
        JCoTable table=function.getTableParameterList().getTable("EX_KNA1");
        for (int i = 0; i < table.getNumRows(); i++) {
            /** 参数说明：
             *          KUNNR 客户编号          NAME1 名称           ORT01 城市         PSTLZ  邮政编码
             *          REGIO 地区(州、省、县)  STRAS 住宅号及街道    TELF1 第一个电话号
             *          TELFX  传真号          TELF2 第二个电话号    SORTL 检索项        LOEVM  删除标识
             */
            Customer customerBean = new Customer(
                    table.getString("KUNNR"),table.getString("NAME1"),
                    table.getString("ORT01")+table.getString("STRAS"), table.getString("PSTLZ"),
                    table.getString("SORTL"), table.getString("REGIO"),table.getString("TELF1"),
                    table.getString("TELF2"), table.getString("LOEVM"), table.getString("TELFX")
            );
            newList.add(customerBean);
            table.nextRow();
        }

        return newList;
    }




}
